function sum (a:number,b:number){
  return a+b;
}
sum(1,3)
/**
 * 基础数据类型
 */
const a:string = 'foobar'
const b:number=123
const isDone: boolean = false;

// Not much else we can assign to these variables!
const u: undefined = undefined;
const n: null = null;


let notSure: any = 4;//对现有代码进行改写的时候，any类型是十分有用的

function warnUser(): void {
    console.log("This is my warning message");
}

// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
    throw new Error(message);
}

//object表示非原始类型，也就是除number，string，boolean，symbol，null或undefined之外的类型。
declare function create(o: object | null): void;
create({ prop: 0 }); // OK
create(null); // OK

create(42); // Error
create("string"); // Error
create(false); // Error
create(undefined); // Error